{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "YeyEsJQ4ukfd"
   },
   "source": [
    "#**Description of Notebook:**\n",
    "The following notebook uses the pretrained models described here - https://www.biorxiv.org/content/10.1101/2020.07.12.199554v1.full.pdf, and found here - https://github.com/agemagician/ProtTrans, to create embedding vectors for each sequence in the inputted dataset. Below is an example of how to create word embeddings using the T5 Uniprot50 pre-trained model using the function created."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "OTGWVrgFumYE"
   },
   "source": [
    "#**Imports:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 11558,
     "status": "ok",
     "timestamp": 1630068040339,
     "user": {
      "displayName": "Will Dee",
      "photoUrl": "",
      "userId": "18339245303983317021"
     },
     "user_tz": -60
    },
    "id": "FblVzRgjkh0e",
    "outputId": "708cc84f-5f8e-4d0f-cc9b-bf6ce892a591"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[K     |████████████████████████████████| 2.6 MB 5.2 MB/s \n",
      "\u001b[K     |████████████████████████████████| 636 kB 56.5 MB/s \n",
      "\u001b[K     |████████████████████████████████| 3.3 MB 41.3 MB/s \n",
      "\u001b[K     |████████████████████████████████| 895 kB 60.6 MB/s \n",
      "\u001b[K     |████████████████████████████████| 1.2 MB 5.3 MB/s \n",
      "\u001b[?25h"
     ]
    }
   ],
   "source": [
    "!pip install -q transformers\n",
    "!pip install -q transformers sentencePiece"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "executionInfo": {
     "elapsed": 27442,
     "status": "ok",
     "timestamp": 1634724497711,
     "user": {
      "displayName": "Will Dee",
      "photoUrl": "https://lh3.googleusercontent.com/a/default-user=s64",
      "userId": "18339245303983317021"
     },
     "user_tz": -60
    },
    "id": "bqpjDTjxk08z"
   },
   "outputs": [],
   "source": [
    "import torch\n",
    "from transformers import BertModel, BertTokenizer, XLNetModel, XLNetTokenizer, T5EncoderModel, T5Tokenizer\n",
    "import re\n",
    "import os\n",
    "import requests\n",
    "import gc\n",
    "from tqdm.auto import tqdm\n",
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "bsBJYCsSa5Af"
   },
   "outputs": [],
   "source": [
    "print('Mounting google drive...')\n",
    "from google.colab import drive\n",
    "drive.mount('/content/drive')\n",
    "%cd \"INSERT_GOOGLE_DRIVE_LOC\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "YEFROCFXch6A"
   },
   "source": [
    "#**Function To Extract Word Embeddings:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "executionInfo": {
     "elapsed": 511,
     "status": "ok",
     "timestamp": 1634724528407,
     "user": {
      "displayName": "Will Dee",
      "photoUrl": "https://lh3.googleusercontent.com/a/default-user=s64",
      "userId": "18339245303983317021"
     },
     "user_tz": -60
    },
    "id": "lTPTXTG_chHr"
   },
   "outputs": [],
   "source": [
    "class LM_EMBED:\n",
    "\n",
    "  def __init__(self, language_model, max_len, rare_aa):\n",
    "    self.lang_model = language_model\n",
    "    self.max_len = max_len\n",
    "    self.rare_aa = rare_aa\n",
    "\n",
    "    # Import tokenizer and model from ProtTrans Pre-Trained Rostlab:\n",
    "    if self.lang_model == 'BERT-BFD':\n",
    "      self.tokenizer = BertTokenizer.from_pretrained('Rostlab/prot_bert_bfd', do_lower_case=False)\n",
    "      self.model = BertModel.from_pretrained(\"Rostlab/prot_bert_bfd\")\n",
    "    elif self.lang_model == 'BERT':\n",
    "      self.tokenizer = BertTokenizer.from_pretrained(\"Rostlab/prot_bert\", do_lower_case=False)\n",
    "      self.model = BertModel.from_pretrained(\"Rostlab/prot_bert\")\n",
    "    elif self.lang_model == 'T5-XL-BFD':\n",
    "      self.tokenizer = T5Tokenizer.from_pretrained(\"Rostlab/prot_t5_xl_bfd\", do_lower_case=False )\n",
    "      self.model = T5EncoderModel.from_pretrained(\"Rostlab/prot_t5_xl_bfd\")\n",
    "      gc.collect()\n",
    "    elif self.lang_model == 'T5-XL-UNI':\n",
    "      self.tokenizer = T5Tokenizer.from_pretrained(\"Rostlab/prot_t5_xl_uniref50\", do_lower_case=False )\n",
    "      self.model = T5EncoderModel.from_pretrained(\"Rostlab/prot_t5_xl_uniref50\")\n",
    "      gc.collect()\n",
    "    elif self.lang_model == 'XLNET':\n",
    "      self.tokenizer = XLNetTokenizer.from_pretrained(\"Rostlab/prot_xlnet\", do_lower_case=False)\n",
    "      self.model = XLNetModel.from_pretrained(\"Rostlab/prot_xlnet\", mem_len=512)\n",
    "\n",
    "\n",
    "  # Function to use the specified model and tokenizer to create word embedding array:\n",
    "  def extract_word_embs(self, seq_df, filename):\n",
    "\n",
    "    # Setting device to GPU if available:\n",
    "    device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')\n",
    "\n",
    "    # Assigning model to GPU if available, and setting to eval mode:\n",
    "    self.model = self.model.to(device)\n",
    "    self.model = self.model.eval()\n",
    "\n",
    "    # Making a list of sequences from the df:\n",
    "    seqs_list = seq_df.Sequence.to_list()\n",
    "\n",
    "    # Adding spaces in between sequence letters (amino acids):\n",
    "    seqs_spaced = self.add_spaces(seqs_list)\n",
    "\n",
    "    # Map Rarely Occuring Amino Acids (U, Z, O, B) to (X) if they are present in the dataset:\n",
    "    if self.rare_aa:\n",
    "      seqs_spaced = [re.sub(r\"[UZOB]\", \"X\", sequence) for sequence in seqs_spaced]\n",
    "\n",
    "    # ID list tokenized:\n",
    "    ids = self.tokenizer.batch_encode_plus(seqs_spaced, add_special_tokens=True, padding = 'max_length', max_length = self.max_len)\n",
    "\n",
    "    # Retrieving the input IDs and mask for attention as tensors:\n",
    "    input_ids = torch.tensor(ids['input_ids']).to(device)\n",
    "    attention_mask = torch.tensor(ids['attention_mask']).to(device)\n",
    "\n",
    "    # Emptying cache to ensure enough memory:\n",
    "    torch.cuda.empty_cache()\n",
    "\n",
    "    # Loop to process the sequences into embeddings in batches of 10:\n",
    "    for i in range(10, len(input_ids)+10, 10):\n",
    "      if i%100 == 0:\n",
    "        print(\"Initial Embedding Batch Ending with...\", i)\n",
    "      with torch.no_grad():\n",
    "        embeddings = self.model(input_ids=input_ids[i-10:i], \n",
    "                                attention_mask=attention_mask[i-10:i])[0]\n",
    "        emb_array = embeddings.cpu().numpy()\n",
    "\n",
    "        # Creating initial array or concatenating to existing array:\n",
    "        if i==10:\n",
    "          embedding_res = emb_array\n",
    "        else:\n",
    "          embedding_res = np.concatenate((embedding_res, emb_array))\n",
    "\n",
    "    # Extracting features using the function below:\n",
    "    features = self.extract_features(embedding_res, attention_mask) \n",
    "\n",
    "    # Padding these features to a specified max length with zeros:\n",
    "    padded_arr = self.pad(features)\n",
    "\n",
    "    #Ensuring in correct location to save embeddings:\n",
    "    %cd \"INSERT_EMBEDDINGS_FOLDER_LOC\"\n",
    "\n",
    "    # Saving array:\n",
    "    print(\"Saving Embeddings...\")\n",
    "    np.save(filename, padded_arr)\n",
    "\n",
    "\n",
    "  # Function to add spaces between the amino acids in each sequence:\n",
    "  def add_spaces(self, df_col):\n",
    "    return [\" \".join(x) for x in df_col]\n",
    "\n",
    "  # Function to remove any CLS or SEP tokens, just leaving features:\n",
    "  def extract_features(self, emb_res, att_msk):\n",
    "    features = [] \n",
    "\n",
    "    for seq_num in range(len(emb_res)):\n",
    "      seq_len = (att_msk[seq_num] == 1).sum()\n",
    "\n",
    "      if self.lang_model in ['BERT-BFD', 'BERT']:\n",
    "        seq_emd = emb_res[seq_num][1:seq_len-1]\n",
    "\n",
    "      elif self.lang_model in ['T5-XL-BFD', 'T5-XL-UNI']:\n",
    "        seq_emd = emb_res[seq_num][:seq_len-1]\n",
    "\n",
    "      elif self.lang_model == 'XLNET':\n",
    "        padded_seq_len = len(att_msk[seq_num])\n",
    "        seq_emd = emb_res[seq_num][padded_seq_len-seq_len:padded_seq_len-2]\n",
    "\n",
    "      features.append(seq_emd)\n",
    "    \n",
    "    features_arr = np.array(features, dtype=object)\n",
    "\n",
    "    return features_arr\n",
    "\n",
    "  # Function to add zeros to pad all features to max length:\n",
    "  def pad(self, features):\n",
    "    dim1 = self.max_len-2   # reducing by 2 for CLS and SEP tokens which have already been removed\n",
    "    dim2 = features[0].shape[1]\n",
    "\n",
    "    for i in range(len(features)):\n",
    "      if i%100 == 0:\n",
    "        print(\"Padding Batch: \", i)\n",
    "\n",
    "      all_zeros = np.zeros((dim1, dim2))\n",
    "      all_zeros[:features[i].shape[0], :features[i].shape[1]] = features[i]\n",
    "\n",
    "      if i==0:\n",
    "        padded_arr = all_zeros\n",
    "      elif i==1:\n",
    "        padded_arr = np.stack((padded_arr, all_zeros), axis=0)\n",
    "      else:\n",
    "        reshaped_arr = all_zeros.reshape(1, all_zeros.shape[0], all_zeros.shape[1])\n",
    "        padded_arr = np.vstack((padded_arr, reshaped_arr))\n",
    "    \n",
    "    return padded_arr\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "_HIyvfLOezjo"
   },
   "source": [
    "#**Create Embeddings Using Function Above:**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "nnsCQC4E0wjY"
   },
   "source": [
    "##**Loading Datasets:**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "D46K7u9oKgup"
   },
   "source": [
    "###**Veltri Dataset:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "executionInfo": {
     "elapsed": 1214,
     "status": "ok",
     "timestamp": 1634724665461,
     "user": {
      "displayName": "Will Dee",
      "photoUrl": "https://lh3.googleusercontent.com/a/default-user=s64",
      "userId": "18339245303983317021"
     },
     "user_tz": -60
    },
    "id": "1bCq4mAiKg0b"
   },
   "outputs": [],
   "source": [
    "# Load Dataset:\n",
    "X_train_Velt = pd.read_csv('Veltri_Dataset/X_train_Velt.csv')\n",
    "X_val_Velt = pd.read_csv('Veltri_Dataset/X_val_Velt.csv')\n",
    "X_test_Velt = pd.read_csv('Veltri_Dataset/X_test_Velt.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "AjDXLGPfo9UD"
   },
   "source": [
    "###**LMPred Dataset:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "executionInfo": {
     "elapsed": 1270,
     "status": "ok",
     "timestamp": 1634724672387,
     "user": {
      "displayName": "Will Dee",
      "photoUrl": "https://lh3.googleusercontent.com/a/default-user=s64",
      "userId": "18339245303983317021"
     },
     "user_tz": -60
    },
    "id": "lcpo7x8go8uL"
   },
   "outputs": [],
   "source": [
    "X_train = pd.read_csv('LM_Pred_Dataset/X_train.csv')\n",
    "X_val = pd.read_csv('LM_Pred_Dataset/X_val.csv')\n",
    "X_test = pd.read_csv('LM_Pred_Dataset/X_test.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "2_3BBFbDY1uP"
   },
   "source": [
    "# **Example Embeddings:**\n",
    "- Example below of how language model word embeddings were created using the T5 Model that had been pre-trained by Elnaggar et al. (Source: https://github.com/agemagician/ProtTrans) on the UniRef50 protein dataset (see here for more information on the dataset: https://www.uniprot.org/help/uniref)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "0cp3lBdRDBQu"
   },
   "source": [
    "##**T5XL Uniprot50 Language Model:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 177,
     "referenced_widgets": [
      "f1c33096d0784c68914b69d2c3968151",
      "781e7f95710f40678a6b1287b9bd6826",
      "e9e25fcb9f4f4f2fae768cbf29fb0427",
      "470ac6f5da1a4fb8b2a9d75aeb0129ae",
      "9c09942041d446db823ca14193b11493",
      "71b240f7b76d4328aaafd5aae1220519",
      "bf0ed98ab2a841d59f93f10205bde6fd",
      "ddc554d78ae7403991a63d06b357083d",
      "8239461fdacb4db0985940c8ec032f83",
      "6a3a1a3615604bc99d0c02fc8dd29498",
      "d410c182b2f64aeeb9bd5923cb91db7d",
      "faa6c564df4942f4b4702df5c8c020c9",
      "7f639375bc674825a53f79a72ff77796",
      "521418909351429dab44756b7e6585c5",
      "7f95e67356584d9ba9743e3faf25ea1a",
      "b76d745fe3ab4c929f9a6eefc196010d",
      "89d6029c24d2403cbd8be6988f129a73",
      "c846ccd6af554776858511f962771c12",
      "0990280d9c704dd38da8e85d8425bc20",
      "9c8b0afd19aa4a1da68499a52acf10c8",
      "883886c874974af881b806d310cc92b8",
      "28c5b62a652043f5babc44b7814f43ac",
      "ce539392188c4357a9735ad5733dc3e1",
      "c46f0e19ebbf46b996ea87e17251421b",
      "91746fa7b3bf4005814058efd093902e",
      "ed19561ff3ce468c916f67158dfc9774",
      "95c9577ea09f45609b2eaeb6fa504b3a",
      "35c540e1c29e42d5bf9420a69a466a32",
      "5c41efabb32e4d85b1ea1d69feb7f498",
      "f790abdaa06e46f0a728dd6c8ffb05ba",
      "9d22c013c8f3406eaca7c35bb2a46889",
      "c5deb8fa4ff84ca5b3964426034d3e7b",
      "32a39184d3794617b6296ad4b08db878",
      "4b223e611d394f5b8060740cef7d196f",
      "59344b3285794e66b3e214470db5a1b2",
      "9f3880895a4e48bfac50ca81d844430c",
      "0eb90b14c1ef457f8aa5d35ff2f7e309",
      "161892df790f44d381a295fff6387583",
      "bc99a3c8c5a2443a9b0bdb16ad09bf21",
      "8df260937f9f4ad1827278a25b2487ed",
      "228b20a563164b9fba5deb8173ea0b47",
      "0153e79d7e7d4a59931312ceb66bfcae",
      "da546386e8834a37b124c65c9366b8f4",
      "a8ea54d0df714bf8a47f6956196918c8",
      "dcfcbbde05b84dbf93d2e64157306bb9",
      "96db89ceb0164922bc49e88127989c9a",
      "bb85963ad2be403c88707e3f68c41ff2",
      "cc4ba0c4ebe54e349057ff67d0393d93",
      "71bff902900c4eb6a77cb8f78fbf33ce",
      "657182243e2e4d19aba44edd61e83968",
      "da949c4509b44ef4a4251841a52229a0",
      "a6dd1469eabb42f7bd018add5e2d329c",
      "edec03194ff94585b69dd2c9e2ae6970",
      "213954ea9986487ab154b0e030fc7592",
      "5ec2393f8e1f422d831c925e6ecf164c"
     ]
    },
    "id": "2FOcNE7yYSuz",
    "outputId": "f97ed19e-4373-4cea-bb2e-3bc2e9792492"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "f1c33096d0784c68914b69d2c3968151",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading:   0%|          | 0.00/232k [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "faa6c564df4942f4b4702df5c8c020c9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading:   0%|          | 0.00/1.74k [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ce539392188c4357a9735ad5733dc3e1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading:   0%|          | 0.00/24.0 [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4b223e611d394f5b8060740cef7d196f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading:   0%|          | 0.00/546 [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dcfcbbde05b84dbf93d2e64157306bb9",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Downloading:   0%|          | 0.00/10.5G [00:00<?, ?B/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Specifying the max sequence length in the given dataset (255 for the LMPred Dataset), \n",
    "# then adding 2 to account for special [CLS, SEP] tokens added by the language models):\n",
    "max_seq_len = 257\n",
    "T5XL_UNI_EMBED = LM_EMBED('T5-XL-UNI', max_seq_len, True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "n99qN4RAJ_kW"
   },
   "source": [
    "###**Embedding Veltri Dataset:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "Ju6vHN6pJ_vZ"
   },
   "outputs": [],
   "source": [
    "T5XL_UNI_EMBED.extract_word_embs(X_train_Velt, \"Veltri_Embeddings/T5XL_UNI_VELTRI_X_TRAIN.npy\")\n",
    "T5XL_UNI_EMBED.extract_word_embs(X_val_Velt, \"Veltri_Embeddings/T5XL_UNI_VELTRI_X_VAL.npy\")\n",
    "T5XL_UNI_EMBED.extract_word_embs(X_test_Velt, \"Veltri_Embeddings/T5XL_UNI_VELTRI_X_TEST.npy\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "27EONoTrpymX"
   },
   "source": [
    "###**Embedding LMPred Dataset:**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "z7vHraJpp3I6"
   },
   "outputs": [],
   "source": [
    "T5XL_UNI_EMBED.extract_word_embs(X_train, \"LMPred_Embeddings/T5XL_UNI_INDEP_X_TRAIN.npy\")\n",
    "T5XL_UNI_EMBED.extract_word_embs(X_val, \"LMPred_Embeddings/T5XL_UNI_INDEP_X_VAL.npy\")\n",
    "T5XL_UNI_EMBED.extract_word_embs(X_test, \"LMPred_Embeddings/T5XL_UNI_INDEP_X_TEST.npy\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- N.B. Embedding arrays have been saved as zarr files to the 'Embeddings' folder for the T5 model.\n",
    "- These can be loaded as numpy arrays using the following functions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Example loading array from zarr file:\n",
    "T5_X_train = zarr.load('Embeddings/T5XL_UNI_INDEP_X_TRAIN.zarr')"
   ]
  }
 ],
 "metadata": {
  "accelerator": "GPU",
  "colab": {
   "collapsed_sections": [],
   "machine_shape": "hm",
   "name": "Create_Word_Embeddings.ipynb",
   "provenance": [],
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.12"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "0153e79d7e7d4a59931312ceb66bfcae": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0990280d9c704dd38da8e85d8425bc20": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "0eb90b14c1ef457f8aa5d35ff2f7e309": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_0153e79d7e7d4a59931312ceb66bfcae",
      "max": 546,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_228b20a563164b9fba5deb8173ea0b47",
      "value": 546
     }
    },
    "161892df790f44d381a295fff6387583": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_a8ea54d0df714bf8a47f6956196918c8",
      "placeholder": "​",
      "style": "IPY_MODEL_da546386e8834a37b124c65c9366b8f4",
      "value": " 546/546 [00:00&lt;00:00, 14.4kB/s]"
     }
    },
    "213954ea9986487ab154b0e030fc7592": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "228b20a563164b9fba5deb8173ea0b47": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "28c5b62a652043f5babc44b7814f43ac": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "32a39184d3794617b6296ad4b08db878": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "35c540e1c29e42d5bf9420a69a466a32": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "470ac6f5da1a4fb8b2a9d75aeb0129ae": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8239461fdacb4db0985940c8ec032f83",
      "max": 237990,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_ddc554d78ae7403991a63d06b357083d",
      "value": 237990
     }
    },
    "4b223e611d394f5b8060740cef7d196f": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_9f3880895a4e48bfac50ca81d844430c",
       "IPY_MODEL_0eb90b14c1ef457f8aa5d35ff2f7e309",
       "IPY_MODEL_161892df790f44d381a295fff6387583"
      ],
      "layout": "IPY_MODEL_59344b3285794e66b3e214470db5a1b2"
     }
    },
    "521418909351429dab44756b7e6585c5": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_c846ccd6af554776858511f962771c12",
      "placeholder": "​",
      "style": "IPY_MODEL_89d6029c24d2403cbd8be6988f129a73",
      "value": "Downloading: 100%"
     }
    },
    "59344b3285794e66b3e214470db5a1b2": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "5c41efabb32e4d85b1ea1d69feb7f498": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "5ec2393f8e1f422d831c925e6ecf164c": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "657182243e2e4d19aba44edd61e83968": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "6a3a1a3615604bc99d0c02fc8dd29498": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "71b240f7b76d4328aaafd5aae1220519": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "71bff902900c4eb6a77cb8f78fbf33ce": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_5ec2393f8e1f422d831c925e6ecf164c",
      "placeholder": "​",
      "style": "IPY_MODEL_213954ea9986487ab154b0e030fc7592",
      "value": " 10.5G/10.5G [11:02&lt;00:00, 25.4MB/s]"
     }
    },
    "781e7f95710f40678a6b1287b9bd6826": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "7f639375bc674825a53f79a72ff77796": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "7f95e67356584d9ba9743e3faf25ea1a": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_9c8b0afd19aa4a1da68499a52acf10c8",
      "max": 1786,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_0990280d9c704dd38da8e85d8425bc20",
      "value": 1786
     }
    },
    "8239461fdacb4db0985940c8ec032f83": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "883886c874974af881b806d310cc92b8": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "89d6029c24d2403cbd8be6988f129a73": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "8df260937f9f4ad1827278a25b2487ed": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "91746fa7b3bf4005814058efd093902e": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_5c41efabb32e4d85b1ea1d69feb7f498",
      "placeholder": "​",
      "style": "IPY_MODEL_35c540e1c29e42d5bf9420a69a466a32",
      "value": "Downloading: 100%"
     }
    },
    "95c9577ea09f45609b2eaeb6fa504b3a": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_32a39184d3794617b6296ad4b08db878",
      "placeholder": "​",
      "style": "IPY_MODEL_c5deb8fa4ff84ca5b3964426034d3e7b",
      "value": " 24.0/24.0 [00:00&lt;00:00, 601B/s]"
     }
    },
    "96db89ceb0164922bc49e88127989c9a": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9c09942041d446db823ca14193b11493": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_d410c182b2f64aeeb9bd5923cb91db7d",
      "placeholder": "​",
      "style": "IPY_MODEL_6a3a1a3615604bc99d0c02fc8dd29498",
      "value": " 232k/232k [00:00&lt;00:00, 657kB/s]"
     }
    },
    "9c8b0afd19aa4a1da68499a52acf10c8": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9d22c013c8f3406eaca7c35bb2a46889": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9f3880895a4e48bfac50ca81d844430c": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8df260937f9f4ad1827278a25b2487ed",
      "placeholder": "​",
      "style": "IPY_MODEL_bc99a3c8c5a2443a9b0bdb16ad09bf21",
      "value": "Downloading: 100%"
     }
    },
    "a6dd1469eabb42f7bd018add5e2d329c": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "a8ea54d0df714bf8a47f6956196918c8": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b76d745fe3ab4c929f9a6eefc196010d": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_28c5b62a652043f5babc44b7814f43ac",
      "placeholder": "​",
      "style": "IPY_MODEL_883886c874974af881b806d310cc92b8",
      "value": " 1.74k/1.74k [00:00&lt;00:00, 40.3kB/s]"
     }
    },
    "bb85963ad2be403c88707e3f68c41ff2": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_da949c4509b44ef4a4251841a52229a0",
      "placeholder": "​",
      "style": "IPY_MODEL_657182243e2e4d19aba44edd61e83968",
      "value": "Downloading: 100%"
     }
    },
    "bc99a3c8c5a2443a9b0bdb16ad09bf21": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "bf0ed98ab2a841d59f93f10205bde6fd": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c46f0e19ebbf46b996ea87e17251421b": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c5deb8fa4ff84ca5b3964426034d3e7b": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "c846ccd6af554776858511f962771c12": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "cc4ba0c4ebe54e349057ff67d0393d93": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_edec03194ff94585b69dd2c9e2ae6970",
      "max": 11275562724,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_a6dd1469eabb42f7bd018add5e2d329c",
      "value": 11275562724
     }
    },
    "ce539392188c4357a9735ad5733dc3e1": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_91746fa7b3bf4005814058efd093902e",
       "IPY_MODEL_ed19561ff3ce468c916f67158dfc9774",
       "IPY_MODEL_95c9577ea09f45609b2eaeb6fa504b3a"
      ],
      "layout": "IPY_MODEL_c46f0e19ebbf46b996ea87e17251421b"
     }
    },
    "d410c182b2f64aeeb9bd5923cb91db7d": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "da546386e8834a37b124c65c9366b8f4": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "da949c4509b44ef4a4251841a52229a0": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "dcfcbbde05b84dbf93d2e64157306bb9": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_bb85963ad2be403c88707e3f68c41ff2",
       "IPY_MODEL_cc4ba0c4ebe54e349057ff67d0393d93",
       "IPY_MODEL_71bff902900c4eb6a77cb8f78fbf33ce"
      ],
      "layout": "IPY_MODEL_96db89ceb0164922bc49e88127989c9a"
     }
    },
    "ddc554d78ae7403991a63d06b357083d": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "e9e25fcb9f4f4f2fae768cbf29fb0427": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_bf0ed98ab2a841d59f93f10205bde6fd",
      "placeholder": "​",
      "style": "IPY_MODEL_71b240f7b76d4328aaafd5aae1220519",
      "value": "Downloading: 100%"
     }
    },
    "ed19561ff3ce468c916f67158dfc9774": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_9d22c013c8f3406eaca7c35bb2a46889",
      "max": 24,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_f790abdaa06e46f0a728dd6c8ffb05ba",
      "value": 24
     }
    },
    "edec03194ff94585b69dd2c9e2ae6970": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f1c33096d0784c68914b69d2c3968151": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_e9e25fcb9f4f4f2fae768cbf29fb0427",
       "IPY_MODEL_470ac6f5da1a4fb8b2a9d75aeb0129ae",
       "IPY_MODEL_9c09942041d446db823ca14193b11493"
      ],
      "layout": "IPY_MODEL_781e7f95710f40678a6b1287b9bd6826"
     }
    },
    "f790abdaa06e46f0a728dd6c8ffb05ba": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "faa6c564df4942f4b4702df5c8c020c9": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_521418909351429dab44756b7e6585c5",
       "IPY_MODEL_7f95e67356584d9ba9743e3faf25ea1a",
       "IPY_MODEL_b76d745fe3ab4c929f9a6eefc196010d"
      ],
      "layout": "IPY_MODEL_7f639375bc674825a53f79a72ff77796"
     }
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
